﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using VemTransporte.Models.Basica;
using System.Globalization;
using VemTransporte.Models.Fachada;

namespace VemTransporte.Views.UsuarioTransporte
{
    public partial class MenuUsuarioDadosPessoais : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                Usuario usuarioLogado = (Usuario)Session["UsuarioLogado"];

                if (usuarioLogado != null)
                {
                    ImgFotoUsuario.ImageUrl = string.Format("/UsuarioFotos/{0}.jpg", usuarioLogado.Id);

                    if (usuarioLogado.Nome.IndexOf(" ") > 0)
                    {
                        LabelNomeUsuario.Text = usuarioLogado.Nome.Substring(0, usuarioLogado.Nome.IndexOf(" "));
                    }
                    else
                    {
                        LabelNomeUsuario.Text = usuarioLogado.Nome;
                    }

                    DropDownListDia.Items.Clear();
                    DropDownListDia.Items.Add("Dia");
                    DropDownListMes.Items.Clear();
                    DropDownListMes.Items.Add("Mês");
                    DropDownListAno.Items.Clear();
                    DropDownListAno.Items.Add("Ano");

                    for (int i = 1; i <= 31; i++)
                    {
                        DropDownListDia.Items.Add(string.Format("{0:00}", i));
                    }
                    CultureInfo culture = new CultureInfo("pt-BR");
                    DateTimeFormatInfo dtfi = culture.DateTimeFormat;

                    for (int i = 1; i <= 12; i++)
                    {
                        string mes = culture.TextInfo.ToTitleCase(dtfi.GetMonthName(i));
                        DropDownListMes.Items.Add(mes);
                    }

                    for (int i = 1910; i <= 2011; i++)
                    {
                        DropDownListAno.Items.Add(Convert.ToString(i));                        
                    }

                    DropDownListSexo.Items.Clear();
                    DropDownListSexo.Items.Add("Masculino");
                    DropDownListSexo.Items.Add("Feminino");

                    int diaNascimento = usuarioLogado.Nascimento.Day;
                    DropDownListDia.SelectedIndex = diaNascimento;
                    int mesNascimento = usuarioLogado.Nascimento.Month;
                    DropDownListMes.SelectedIndex = mesNascimento;
                    for (int i = 1; i <= DropDownListAno.Items.Count; i++)
                    {
                        string ano = DropDownListAno.Items[i].Value;

                        if (usuarioLogado.Nascimento.Year == int.Parse(ano))
                        {
                            DropDownListAno.SelectedIndex = i;
                            break;
                        }
                    }                    
                    UserName.Text = usuarioLogado.Nome;
                    Email.Text = usuarioLogado.Email;
                }
                else
                {
                    //Usuario não encontrado 
                    Response.Redirect("Login.aspx", false);
                }
            }
        }

        protected void Button_Salvar_Click(object sender, EventArgs e)
        {
            try
            {
                ErrorMessage.Text = "";

                Usuario usuarioLogado = (Usuario)Session["UsuarioLogado"];

                if (usuarioLogado != null)
                {
                    usuarioLogado.Nome = UserName.Text;
                    usuarioLogado.Email = Email.Text;
                    usuarioLogado.Sexo = (DropDownListSexo.SelectedIndex == 0 ? "M" : "F");
                    usuarioLogado.Nascimento = DateTime.Parse(
                    DropDownListDia.Items[DropDownListDia.SelectedIndex].Text + "/" +
                    DropDownListMes.SelectedIndex + "/" +
                        DropDownListAno.Items[DropDownListAno.SelectedIndex].Text);

                    Fachada.Instance.Salvar(usuarioLogado);

                    Session["UsuarioLogado"] = usuarioLogado;

                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Confimado", "alert('Alterado com sucesso!'); window.location='MenuUsuario.aspx';", true);

                }
                else
                {
                    //Usuario não encontrado
                    Response.Redirect("Login.aspx");
                }
            }
            catch (Exception ex)
            {
                ErrorMessage.Text = ex.Message;
            }
        }
    }
}